package com.zg.autoform.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 导入字段配置
 * @author zg
 */
@Data
@ApiModel(value = "导入字段配置", description = "导入字段配置")
public class ImportFieldConfig {

    /**
     * 字段中文名（Excel第一行显示）
     */
    @ApiModelProperty(value = "字段中文名")
    private String fieldLabel;

    /**
     * 字段名（Excel第二行显示，对应数据库字段名）
     */
    @ApiModelProperty(value = "字段名")
    private String fieldName;

    /**
     * 字段说明（Excel第三行显示）
     */
    @ApiModelProperty(value = "字段说明")
    private String fieldDescription;

    /**
     * 字段类型：STRING、INTEGER、DECIMAL、DATE、DATETIME、BOOLEAN
     */
    @ApiModelProperty(value = "字段类型")
    private String fieldType;

    /**
     * 是否必填
     */
    @ApiModelProperty(value = "是否必填")
    private Boolean required;

    /**
     * 默认值
     */
    @ApiModelProperty(value = "默认值")
    private String defaultValue;

    /**
     * 验证规则：REGEX、LENGTH、RANGE等
     */
    @ApiModelProperty(value = "验证规则")
    private String validationRule;

    /**
     * 验证参数（如正则表达式、长度范围等）
     */
    @ApiModelProperty(value = "验证参数")
    private String validationParam;

    /**
     * 错误提示信息
     */
    @ApiModelProperty(value = "错误提示信息")
    private String errorMessage;

    /**
     * 字段排序
     */
    @ApiModelProperty(value = "字段排序")
    private Integer sort;

    /**
     * 列宽度
     */
    @ApiModelProperty(value = "列宽度")
    private Integer columnWidth;

    /**
     * 示例数据
     */
    @ApiModelProperty(value = "示例数据")
    private String exampleData;
}
